package com.wicket.okrbff.biz.service.dto.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc BffAnnexDto
 * @使用场景
 */
@Data
public class BffAnnexDto implements Serializable {

  /**
   * 文档ID
   */
  @ApiModelProperty("文档ID")
  private String unstructuredDataId;

  /**
   * 来源文档关系ID
   */
  @ApiModelProperty("来源文档关系ID")
  private String sourceRelationshipId;

  /**
   * 是否是网盘引用关系 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否是网盘引用关系")
  private String isNetworkReference;
/**
     * 文档名称 
     */
    @ApiModelProperty("文档名称")
    private String	 unstructuredDataName;

    /**
     * 文档后缀 
     */
    @ApiModelProperty("文档后缀")
    private String	 postfix;

    /**
     * 文件大小 
     */
    @ApiModelProperty("文件大小")
    private String	 fileSize;

    /**
     * 文件相对路径地址 
     */
    @ApiModelProperty("文件地址全路径")
    private String	 fileRelativePathAccess;

    /**
     * 排序 
     */
    @ApiModelProperty("排序")
    private Long	 orderNumber;

    /**
     * 操作时间 
     */
    @ApiModelProperty("操作时间")
    private Date	 operateTime;
/**
     * 文档编号
     */
    @ApiModelProperty("文档编号")
    private String	 unstructuredDataNumber;

    /**
     * 是否支持预览 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否支持预览")
    private String	 isSupportPreview;
/**
     * 关系类型编码 DIRECT_RELATION:直接关系 INDIRECT_RELATIONSHIP:间接关系
     */
    @ApiModelProperty("关系类型编码")
    private String	 relationshipType;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffAnnexDto that = (BffAnnexDto) o;
      return  unstructuredDataId == that.unstructuredDataId&&sourceRelationshipId == that.sourceRelationshipId&&isNetworkReference == that.isNetworkReference&&unstructuredDataName == that.unstructuredDataName&&postfix == that.postfix&&fileSize == that.fileSize&&fileRelativePathAccess == that.fileRelativePathAccess&&orderNumber == that.orderNumber&&operateTime == that.operateTime&&unstructuredDataNumber == that.unstructuredDataNumber&&isSupportPreview == that.isSupportPreview&&relationshipType == that.relationshipType;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), unstructuredDataId,sourceRelationshipId,isNetworkReference,unstructuredDataName,postfix,fileSize,fileRelativePathAccess,orderNumber,operateTime,unstructuredDataNumber,isSupportPreview,relationshipType);
    }

}
